Атрибут manifest
Атрибут manifest реализует механизм кэширования, который позволяет создавать офлайновые приложения, т. е. работающие в автономном режиме без непосредственного подключения к Интернету. При первой загрузке страницы браузер обычно просит сохранить данные для своей работы, а затем уже обращается к ним при необходимости.
Данный атрибут удалён из спецификации HTML, его использование не рекомендуется.
В качестве значения атрибута manifest указывается относительный или абсолютный путь к текстовому файлу, он называется «файл манифеста» или просто «манифест». Имя и расположение файла может быть любым, но он должен отдаваться сервером с заголовком text/cache-manifest . Например, для веб-сервера Apache в файле .htaccess расположенным в корне сайта следует прописать такую строку.
AddType text/cache-manifest .cache
В этом случае файл манифеста имеет расширение cache. Сам манифест информирует браузер о том, какие ресурсы необходимо сохранить в локальном кэше. Этот список может содержать HTML и CSS-файлы, изображения, скрипты. Имена файлов перечисляются внутри секций описанных в табл. 1.
Раздел | Описание |
---|---|
CACHE MANIFEST | Этой обязательной строкой должен начинаться любой манифест. |
CACHE: | Содержит перечень ресурсов, которые браузер должен кэшировать. Данный раздел используется по умолчанию, если его не указать и нет других разделов, то записи в манифесте причисляются к этому разделу. |
NETWORK: | Список ресурсов, которые доступны только при подключении к сети. Обычно в этот раздел входят программы выполняемые на стороне сервера. |
FALLBACK: | Список замещающих файлов, которые будут использоваться при отсутствии подключения к сети. Допустимо использовать символ * для обозначения всех файлов. Например, *.php /offline.html означает, что вместо любого файла с расширением php будет показана страница offline.html. |
Синтаксис
Значения
В качестве значения указывается адрес файла манифеста .
Значение по умолчанию
Пример
Ходов: Цель игры
Вам необходимо за 22 хода сгруппировать все серые фишки на кружках в верхнем квадрате, а чёрные фишки — в нижнем. Кружки с точкой должны оказаться незанятыми.
Фишка может перемещаться только по линиям — по горизонтали или вертикали, а также перепрыгивать через фишку, если за ней есть свободное поле.
!DOCTYPE>
Содержимое файла 22.cache показано ниже.
CACHE MANIFEST # Версия 1.0 CACHE: 22.css 22.js ../image/old.png
Браузеры
В таблице браузеров применяются следующие обозначения.
- — элемент полностью поддерживается браузером;
- — элемент браузером не воспринимается и игнорируется;
- — при работе возможно появление различных ошибок, либо элемент поддерживается с оговорками.
Число указывает версию браузреа, начиная с которой элемент поддерживается.
Усовершенствованное кэширование страниц
Обратите внимание: IE10+, Chrome, Firefox, Opera и Safari имеют поддержку данной технологии.
HTML5 расширяет возможности браузерного кэширования. Теперь веб-страницы могут быть полностью доступны для пользователей даже без подключения к интернету.
Использование HTML5 кэширования дает следующие преимущества:
- Возможность просмотра веб-страниц пользователями даже без подключения к интернету.
- Увеличение скорости загрузки страниц — страницы хранятся локально на компьютере пользователя и поэтому будут загружаться намного быстрее.
- Уменьшение нагрузки на сервер — серверу не придется обрабатывать некоторые из запросов пользователей.
Пример использования HTML5 кэширования
Декларирование HTML5 кэширования
Для того, чтобы использовать механизм кэширования на Ваших веб-страницах необходимо добавить к тэгу атрибут manifest и в качестве его значения указать путь к специальному файлу, в котором декларируются параметры кэширования.
Если данный атрибут не был задан на веб-странице и ссылка на нее отсутствует в файле кэширования, страница не будет кэширована.
Файл кэширования может иметь любое расширение (например .appcache или .mf), но обязан иметь специальный MIME тип: «text/cache-manifest».
В некоторых случаях веб-серверу может потребоваться дополнительная настройка, чтобы обслуживать данный MIME тип. Например, чтобы настроить веб-сервер Apache необходимо добавить следующий код в .htaccess файл:
AddType text/cache-manifest .appcache
Содержимое файла кэширования
Файл кэширования является обычным текстовым файлом, который указывает браузеру какие файлы необходимо кэшировать.
Файл может содержать три секции:
- CACHE MANIFEST — в данной секции указываются ссылки на файлы, которые необходимо кэшировать. Браузер будет автоматически кэшировать все перечисленные файлы сразу после первой загрузки.
- NETWORK — в данной секции указываются файлы, которые требуют постоянного подключения к интернету. Браузер не будет кэшировать файлы перечисленные в данной секции.
- FALLBACK — если файлы указанные в этой секции будут по какой-либо причине будут недоступны пользователи автоматически будут перенаправляться на другой указанный файл.
Секция CACHE MANIFEST обязательно должна присутствовать во всех файлах кэширования. Секции NETWORK и FALLBACK могут отсутствовать.
CACHE MANIFEST #В данной секции перечислены файлы, которые будут кэшированы index.html flower.png NETWORK #Здесь перечислены файлы, которые требуют подключение к интернету login-page.php FALLBACK #Если mob.html недоступен пользователь будет перенаправлен на offline.html /mob.html /offline.html #Если какой-либо из HTML файлов недоступен пользователь будет перенаправлен на offline.html *.html /offline.html
Обратите внимание: веб-страница которая ссылается на файл кэширования будет автоматически прокэширован, поэтому включать ее в сам файл кэширования необязательно, но тем не менее рекомендуется.
Обратите внимание: некоторые браузеры могут иметь ограничение на размер кэшируемого содержимого на одном сайте.
Обновление кэшированных файлов
После того, как файлы будет кэшированы браузер продолжит показывать их кэшированную версию снова и снова даже если Вы измените содержимое этих файлов на сервере.
Для того, чтобы обновить кэшированое содержимое Вы должны сделать одно из следующих действий:
- Очистить кэш в браузере пользователя
- Обновить содержимое файла кэширования
- Обновить кэш браузера программно (с помощью JavaScript)
Для того, чтобы обновить содержимое файла Вы можете использовать следующий трюк: вместо того, чтобы обновлять непосредственно содержимое файла Вы можете добавить к нему комментарий с указанием даты изменения и/или версией файла и в будущем изменять только содержимое этого комментария всякий раз, когда Вы хотите обновить кэшированное содержимое:
CACHE MANIFEST # 29.09.2013 v1.2 index.html flower.png somescript.js
Wisdomweb.ru © 2023.
Все права защищены. Любое использование материалов данного сайта без разрешения администрации запрещено.
Онлайн учебники по HTML, HTML5, CSS, JavaScript, AJAX, HDOM, jQuery.